package com.dinotrack.domain;

import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.Session;

/**
 *
 * @author alquad
 */
public class UsuarioSQL {

    Session session = null;

    public UsuarioSQL() {
        session = HibernateUtil.getSessionFactory().getCurrentSession();
    }

    public boolean registrarUsuario(Usuario usuario) {
        try {
            session.beginTransaction();
            SQLQuery q = session.createSQLQuery("call usuario_registrar(?, ?)");
            q.setParameter(0, usuario.getUsuario());
            q.setParameter(1, usuario.getContrasenia());
            q.executeUpdate();
            session.getTransaction().commit();

            return true;

        } catch (Exception e) {
            e.printStackTrace();
        }

        return false;
    }

    public Usuario getUsuario(String user) {
        org.hibernate.Transaction tx = session.beginTransaction();
        Query q = session.createQuery("from Usuario where usuario like '" + user + "'");
        Usuario usuario = (Usuario) q.list().get(0);
        return usuario;
    }

    public boolean checkUser(Usuario usuario) {
        session.beginTransaction();
        Query q = session.createQuery("from Usuario where usuario like '" + usuario.getUsuario()
                + "' and contrasenia like '" + usuario.getContrasenia() + "'");

        Usuario user = null;

        try {
            user = (Usuario) q.list().get(0);
        } catch (Exception e) {
        }

        return (user != null);
    }
}
